//////////////////////////////////////////////////////////////////////////////////////////////
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//	File			:	"Font.h"
//	Authors			:	Jake Castillo,
//	Project			:	Project Aetheryte
//	Date Modified	:	8/6/2013
//	Purpose			:	Basic bitmap font class for the game.
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//////////////////////////////////////////////////////////////////////////////////////////////

#pragma once
#include "ibitmapfont.h"

class Font : public IBitmapFont
{
public:
	Font(void);
	virtual ~Font(void);

	virtual void Initialize( const TCHAR* szFilepath, int nWidth,  
								int nHeight,  int nCols, int nRows, bool OnlyUpper,  
								TCHAR cFirstChar, unsigned int lang )										override;
	virtual void Terminate( void )																			override;
	
	virtual void Draw( const TCHAR* strOut, int nX, int nY, float fScale, DWORD dwColor ) const				override;
	virtual RECT CellAlgorithm( int id ) const																override;


	int**	LookupTable;

	// image ID
	int		m_nImageID;

	// Cell algorithm info
	int		m_nCharWidth;
	int		m_nCharHeight;
	int		m_nNumCols;
	int		m_nNumRows;

	// Font info
	bool	m_bOnlyUppercase;
	TCHAR	m_cFirstChar;
};

